package com.neusoft.yiyang.customer.service;

import com.neusoft.yiyang.common.entity.customer.OutingRequest;
import org.springframework.web.bind.annotation.*;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface OutingService {

    // 提交外出申请
    Map<String, Object> createOutingRequest(OutingRequest outingRequest);

    // 获取所有外出申请
    List<Map<String, Object>> getAllOutingRequests();

    List<Map<String, Object>> getOutingRequestsByCaretakerId(Integer caretakerId);

    // 根据ID获取外出申请信息
    OutingRequest getOutingRequestById(Integer outingRequestId);

    // 更新外出申请审批状态
    void updateOutingRequestStatus(Integer outingRequestId, String status);

    //拒绝外出申请
    void rejectOutingRequest(Integer outingRequestId);

    //同意
    void agreeOutingRequest(Integer outingRequestId);

    List<Map<String, Object>> searchByCustomerName(String customerName);

    //回院登记
    void returnOutingRequest(Integer outingRequestId, Date actualReturnTime);

    //删除外出申请
    void deleteOutingRequest(Integer outingRequestId);

    //修改外出申请
    void updateOutingRequest(Integer outingRequestId, OutingRequest updateRequest);

    void confirmOut(Integer outingRequestId);
}
